最近のクラウドのはなし - blog.jgs.me
https://gyazo.com/e66044944f26d3a493864898113f269d
まずはDotcloud。
Dotcloudさんとは、Duostackを使っていたらDotcloudに買収されてDuostackよりも使いやすいな〜ってなったのが出会いでした。作ったアプリケーションを音速で公開できてすごく楽しくてずっと使わせてもらっていました。 僕の娘( @ykybot )もDotcloud上に生きています。いや、生きていました。 Dotcloudさんは、着実にバージョンアップをしていて、みんながより使いやすいようにいろいろ改良し続けていて、それは大変素晴らしいのですが、その度に所作が変わってそれに振り回されつつも、その都度調べて対応していました。
少し前も、CLIのアップデート諸々で詰みかけたのですが、なんやかんやしたらちゃんと動くようになったので、また動かなくなってもなんとかなるだろう、と思っていたのですが。 現状どうしようもなくなったので、やったことをメモがてらに書いておきます。
症状: たぶんnodeの動いてるprocessが死んでる (今までもたまに死んでたので都度対応してた)
解決策: 落ち着いて「 $ dotcloud restart appname.service 」それでもだめならpushしなおす
「$ dotcloud restart appname.service」して、「$ dotcloud info appname.service」するとstateがrunningになるんだけど、いざ処理させようとすると死ぬ。(stateがstoppedに戻る)
pushしなおすと「All services have been initialized. Deploying code…」のところでTimed outしてdeployできない。
そこで、sshではいってcurrent下でnodeを起動するとちゃんと動く(ただし権限が足りないところは動かない)
いろいろ調べてみると、dotcloudの体系が 変更 になって Sandbox(スケールしない代わりに無料)
live(スケールするしサポートするし独自ドメイン使えるしハッピーだけど有料)
legacy(昔からのやつ)
になったようで、「$ dotcloud list」するとバッチリlegacyになっている。
「$ dotcloud info appname」するとサポートに連絡してね!ってメッセージ出る。
仕方ないので一旦諦めて「$ dotcloud create -f sandbox appname」してsandboxで新規アプリケーションをつくる。
ところが、相変わらず「All services have been initialized. Deploying code…」の部分でコケるので、デプロイログを監視しながらデプロイするも、何もログを吐かずにコケる。 結論: Dotcloudは一旦棄てよう
そういうわけで、ささっとHerokuに移行しました。細々したところを修正しただけでサクッと動くようになってHerokuさんマジHerokuさんでした。 deployできないってことは、たぶんこちらのコードが悪いのか設定が悪いのかだとは思うのだけれど、どこがダメなのかわからないのでどうしようもない感じです。
とりあえずサポートにメール打つしかないのかなあ…
なぜかDBは生きているので、DBがDotcloud、プログラムがHerokuにあるっていう非常に気持ち悪い状態なので解消したいな、とおもいます。そこそこ容量のあるMongoのホスティングサービスは何があるのかなあ… それから、気持ち速度が遅くなった感じがします。やっぱりDBとの距離が開いたからだろうな、というのは容易に分かりますが…
もろもろ解決方法わかるひと、教えてください。
こっからは雑談なのですが、例のなんとかサーバの件もあって改めて僕らはIT小作人なんだなあ、と感じさせられました。 領主の鶴の一声であたふた振り回されるし、領主が「間違えちゃたテヘペロ☆彡」って小作地で原爆炸裂させても小作人は何も言えないわけで。 つい昨日か一昨日あたりもAWSが落ちた影響でInstagramがしばらくダウンしたりと、クラウドの弱さが目立つなあって気がしてます。 そう考えると、自前で持っておくと最悪自前でなんとかできる(スキルがあればだけど)しやっぱそっちの方がつえーのかなあ、っておもいます。 かといって、僕は下のレイヤーの知識は学校で勉強した程度にしか知らないし、なによりマシンもないのでクラウドホスティングサービスは非常にありがたい存在でもあります。 単純なトレードオフの話っちゃあそれまでなんですけどね。
July 1st, 2012 2:11pm